The present application relates to software development and more specifically to systems, methods, and patterns for implementing enterprise software applications.
Many types of business logic are implemented by enterprise software applications. For example, Consumer Resource Management (CRM) applications often implement business logic to perform price quotations and order capture for customers. For the price quotation business logic, a pricing engine may be implemented to receive input data (e.g., product name or product ID) and to return output data that includes the price for each product in the input data. In addition, the pricing engine may receive inputs context-related inputs such as account type and/or location information, as prices may differ depending on types of accounts or geographical regions.
A sales catalog is a set of data commonly accessed by CRM applications. The sales catalog may be accessed, for example, by the business logic that is used to perform price quotations and order capture for customers.
The consumers of the data within the sales catalog may wish to access that data in different ways. For example, the user of the sales catalog may wish in one circumstance to view the data with certain engines running so that detailed eligibility or price information is displayed to the user. On the other hand, the user may wish in other circumstances to view the data without these eligibility or prices engines to be running.